<?	
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  		
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Establecimiento_Servicio_frm( $this );
	
	class Establecimiento_Servicio_frm extends Frm
	{
	function Establecimiento_Servicio_frm( &$oModule )
		{
			$this->Frm( $oModule );
			$this->aFields['ncEstablecimiento']		= new Input( "Codigo", "ncEstablecimiento", '', false, true );
			$this->aFields['ncServicio']   				= new InputList( "nervicio", "ncServicio" );
			$this->aFields['cObservaciones']			= new InputText( "Observaciones", "cObservaciones" );
		}

	function setValue( $ncEstablecimiento, $ncServicio )
		{
			$cSql = "SELECT *
								FROM gtEstablecimientoServicio
								WHERE ncServicio = $ncServicio
									AND ncEstablecimiento = $ncEstablecimiento";
			$aDatos = $this->oDatabase->getArray($cSql);	
			$this->setFieldsArray ( $aDatos );
		}
	function initializeForm()
		{
			// Si Recibe la Pk => busca los datos
				if ( $this->isRetrievable() && $this->aFields['ncServicio']->getValue() && $this->aFields['ncEstablecimiento']->getValue() )
				{
					$this->setValue( $this->aFields['ncEstablecimiento']->getValue(), $this->aFields['ncServicio']->getValue() );
				}
			// Configura el Titulo
				$this->setLabel( "Servicio" );
			return true;
		}		
	function initializeField( $cField , &$oField )
		{			
			switch ( $cField )
			{		
				case 'cObservaciones':				
					$oField->setEditor();
				break;
				case 'ncServicio':
					$oField->setMandatory( $this->isMandatory() );
					$cSql = "SELECT ncServicio, cdServicio FROM gcServicio";
					if ( $this->aFields['ncEstablecimiento']->getValue() )
					{
						$cSql .= " WHERE ncFuncion IS NULL OR ncFuncion IN (SELECT ncFuncion FROM gtEstablecimientoFuncion WHERE ncEstablecimiento = " . $this->aFields['ncEstablecimiento']->getValue() . ")";
					}
					$oField->setMatrix( $this->oDatabase->getMatrix($cSql) );
				break;
			}
		}
	}
?>